<?php
class AluguerFilme{

public static $SP_id_socio="id_socio";
public static $SP_id_filme="id_filme";
public static $SP_Preco="Preco";


public function addWhere($prop,$value)
{
	$this->where[count($this->where)]=array($prop,$value);
}

public function getByWhere()
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$k=0;
	$query="SELECT * from AluguerFilme where ";
	for($i=0;$i<count($this->where);$i++)
	{
		if($k!=0)
			$query.=" AND ";
		$query.=$this->where[$i][0]."=".$this->where[$i][1];
		$k=$k+1;
	}
	$k=0;
	$res=mysql_query($query,$con);
	$rsOut=array();
	if(!$res) return array();
	while(($linha=mysql_fetch_assoc($res)))
	{
		$rsOut[$k]=new AluguerFilme();
		$rsOut[$k]->setid_socio($linha['id_socio']);
		$rsOut[$k]->setid_filme($linha['id_filme']);
		$rsOut[$k]->setPreco($linha['Preco']);
		$k=$k+1;
	}
	mysql_close($con);
	return $rsOut;
}

public function clearWhere()
{
	$this->where=array();
}

/**
Valor de id_socio
*/
private $id_socio=NULL;
/**
Valor de id_filme
*/
private $id_filme=NULL;
/**
Valor de Preco
*/
private $Preco=NULL;
private $con=NULL;
private $where=array();

/**
 * Construtor para a tabela AluguerFilme
 */
public function AluguerFilme($id_socio=NULL,$id_filme=NULL,$Preco=NULL)
{
	$this->id_socio=$id_socio;
	$this->id_filme=$id_filme;
	$this->Preco=$Preco;
}

/**
 * M�todo que efectua uma connec��o � base de dados
 */
public function createConn()
{
	return mysql_connect('localhost','gaspar','gaspy007');
}

/**
* Getter para a propriedade Int
* @param  Valor de Int
*/
public function getid_socio(){
	return $this->id_socio;
}
/**
* Getter para a propriedade Int
* @param  Valor de Int
*/
public function getid_filme(){
	return $this->id_filme;
}
/**
* Getter para a propriedade Double
* @param  Valor de Double
*/
public function getPreco(){
	return $this->Preco;
}


/**
*@param Int Valor do parametro
*/

public function setid_socio($id_socio){
$this->id_socio=$id_socio;
}

/**
*@param Int Valor do parametro
*/

public function setid_filme($id_filme){
$this->id_filme=$id_filme;
}

/**
*@param Double Valor do parametro
*/

public function setPreco($Preco){
$this->Preco=$Preco;
}

/**
* Insere uma entrada na tabela
* @param Int Valor da propriedade id_socio
* @param Int Valor da propriedade id_filme
* @param Double Valor da propriedade Pre�o
* @return Boolean
*/
public function insert($_id_socio=NULL,$_id_filme=NULL,$_Preco=NULL)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="INSERT INTO AluguerFilme (id_socio,id_filme,Preco) VALUES ("."".$_id_socio.","."".$_id_filme.","."".$_Preco.")";
	if(mysql_query($query,$con)!=NULL)
	{
		mysql_close($con);
		return true;
	}
	return false;
}

/**
 * Insere o objecto na base de dados 
 */
public function insertSelf()
{
	return $this->insert($this->id_socio,$this->id_filme,$this->Preco);
}

/**
 * Select a partir da variavel id_socio
 * @param id_socio Valor do parametro 
 */
public function selectByid_socio($value)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="SELECT * from AluguerFilme where id_socio=".$value;
	$res=mysql_query($query,$con);
	$rsOut=array();
	$k=0;
	while(($linha=mysql_fetch_assoc($res)))
	{
		$rsOut[$k]=new AluguerFilme();
		$rsOut[$k]->setid_socio($linha['id_socio']);
		$rsOut[$k]->setid_filme($linha['id_filme']);
		$rsOut[$k]->setPreco($linha['Preco']);
		$k=$k+1;
	}
	mysql_close($con);
	return $rsOut;
}
/**
 * Select a partir da variavel id_filme
 * @param id_filme Valor do parametro 
 */
public function selectByid_filme($value)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="SELECT * from AluguerFilme where id_filme=".$value;
	$res=mysql_query($query,$con);
	$rsOut=array();
	$k=0;
	while(($linha=mysql_fetch_assoc($res)))
	{
		$rsOut[$k]=new AluguerFilme();
		$rsOut[$k]->setid_socio($linha['id_socio']);
		$rsOut[$k]->setid_filme($linha['id_filme']);
		$rsOut[$k]->setPreco($linha['Preco']);
		$k=$k+1;
	}
	mysql_close($con);
	return $rsOut;
}
/**
 * Select a partir da variavel Pre�o
 * @param Pre�o Valor do parametro 
 */
public function selectByPreco($value)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="SELECT * from AluguerFilme where Preco=".$value;
	$res=mysql_query($query,$con);
	$rsOut=array();
	$k=0;
	while(($linha=mysql_fetch_assoc($res)))
	{
		$rsOut[$k]=new AluguerFilme();
		$rsOut[$k]->setid_socio($linha['id_socio']);
		$rsOut[$k]->setid_filme($linha['id_filme']);
		$rsOut[$k]->setPreco($linha['Preco']);
		$k=$k+1;
	}
	mysql_close($con);
	return $rsOut;
}

/**
*M�todo que efectua um select � tabela AluguerFilme a partir de uma query fornecida
*@param String representando a query
*/

public function selectByQuery($query)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$q="SELECT * FROM AluguerFilme WHERE ".$query;
	$arrOut=array();
	$res=mysql_query($q,$con);
	$pos=0;
	while(($linha=mysql_fetch_assoc($res)))
	{
		$arrOut[$pos]=new AluguerFilme();
		$arrOut[$pos]->setid_socio($linha['id_socio']);
		$arrOut[$pos]->setid_filme($linha['id_filme']);
		$arrOut[$pos]->setPreco($linha['Preco']);
		$pos=$pos+1;
	}
	mysql_close($con);
	return $arrOut;
}

/**
 * M�todo que executa um update que verifique o crit�rio presente no campo dado como par�metro de entrada
 * @param id_socio condi��o pela qual o update � executado
 */
public function updateByid_socio($valor)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="UPDATE AluguerFilme SET id_socio=".$this->id_socio.",id_filme=".$this->id_filme.",Preco=".$this->Preco." WHERE id_socio=".$valor;
	$res=mysql_query($query,$con);
	mysql_close($con);
}
/**
 * M�todo que executa um update que verifique o crit�rio presente no campo dado como par�metro de entrada
 * @param id_filme condi��o pela qual o update � executado
 */
public function updateByid_filme($valor)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="UPDATE AluguerFilme SET id_socio=".$this->id_socio.",id_filme=".$this->id_filme.",Preco=".$this->Preco." WHERE id_filme=".$valor;
	$res=mysql_query($query,$con);
	mysql_close($con);
}
/**
 * M�todo que executa um update que verifique o crit�rio presente no campo dado como par�metro de entrada
 * @param Pre�o condi��o pela qual o update � executado
 */
public function updateByPreco($valor)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="UPDATE AluguerFilme SET id_socio=".$this->id_socio.",id_filme=".$this->id_filme.",Preco=".$this->Preco." WHERE Preco=".$valor;
	$res=mysql_query($query,$con);
	mysql_close($con);
}


/**
 * M�todo que executa um delete na base de dados a partir da propriedade id_socio
 * @param valor do id_socio
 */
public function deleteByid_socio($val)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="DELETE FROM AluguerFilme WHERE id_socio=".$val;
	mysql_query($query,$con);
	mysql_close($con);
}

/**
 * M�todo que executa um delete na base de dados a partir da propriedade id_filme
 * @param valor do id_filme
 */
public function deleteByid_filme($val)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="DELETE FROM AluguerFilme WHERE id_filme=".$val;
	mysql_query($query,$con);
	mysql_close($con);
}

/**
 * M�todo que executa um delete na base de dados a partir da propriedade Pre�o
 * @param valor do Pre�o
 */
public function deleteByPreco($val)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="DELETE FROM AluguerFilme WHERE Preco=".$val;
	mysql_query($query,$con);
	mysql_close($con);
}


/**
 * Conta o n�mero de elementos na base de dados que correspondem ao valor em quest�o para a propriedadeid_socio
 * @return Inteiro representando o n�mero de elementos
 */
public function countByid_socio($valor)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="SELECT COUNT(*) FROM AluguerFilme WHERE id_socio=".$valor;
	$res=mysql_query($query,$con);
	$linha=mysql_fetch_array($res);
	mysql_close($con);
	return $linha[0];
}	
/**
 * Conta o n�mero de elementos na base de dados que correspondem ao valor em quest�o para a propriedadeid_filme
 * @return Inteiro representando o n�mero de elementos
 */
public function countByid_filme($valor)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="SELECT COUNT(*) FROM AluguerFilme WHERE id_filme=".$valor;
	$res=mysql_query($query,$con);
	$linha=mysql_fetch_array($res);
	mysql_close($con);
	return $linha[0];
}	
/**
 * Conta o n�mero de elementos na base de dados que correspondem ao valor em quest�o para a propriedadePre�o
 * @return Inteiro representando o n�mero de elementos
 */
public function countByPreco($valor)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="SELECT COUNT(*) FROM AluguerFilme WHERE Preco=".$valor;
	$res=mysql_query($query,$con);
	$linha=mysql_fetch_array($res);
	mysql_close($con);
	return $linha[0];
}	
public function freeSqlQuery($q)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$res=mysql_query($q,$con);
	$outRes=array();
	$pos=0;
	while(($linha=mysql_fetch_array($res))!=NULL)
	{
		$pos=count($outRes);
		$outRes[$pos]=array();
		for($i=0;$i<count($linha);$i++)
		{
			if(isset($linha[$i]))
				$outRes[$pos][$i]=$linha[$i];
		}
	}
	mysql_close($con);
	return $outRes;
}

/**
* Insere uma entrada na tabela
* @param Int Valor da propriedade id_
* @param Int Valor da propriedade id_filme
* @param Double Valor da propriedade Pre�o
* @return Boolean
*/
public function insertAndGetID($_id_socio=NULL,$_id_filme=NULL,$_Preco=NULL)
{
	$con=$this->createConn();
	mysql_select_db("gaspydb",$con);
	$query="INSERT INTO AluguerFilme (id_socio,id_filme,Preco) VALUES ("."".$_id_socio.","."".$_id_filme.","."".$_Preco.")";
	$res=mysql_query($query,$con);
	$id=mysql_insert_id();
	mysql_close($con);
	return $id;
}

}
?>